package ustc.xiaoyang.karl.hashtable;

import java.util.HashMap;
import java.util.Map;

/**
 * 1.两数之和 easy
 * 梦开始的地方
 */
public class TheSumOfTwoNumbers1 {
    public int[] twoSum(int[] nums, int target) {
        //哈希表一般用来查询一个元素是否在一个集合中
        //本题要记录数组下标，所以要用map记录两层数据，key为元素值，value为元素下标
        Map<Integer,Integer> map = new HashMap<>();
        for(int i = 0; i < nums.length; i++){
            if(map.containsKey(target - nums[i])) return new int[]{i,map.get(target - nums[i])};
            else{
                map.put(nums[i],i);
            }
        }
        return null;
    }
}
